#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>

int main(){
  char * const env[]={
      (char*)"WWWWW=www",
      (char*)"BBBB=bbbb"
  };
  printf("I am a process\n");
  pid_t id = fork();
  if(id==0){
      printf("execl begin...\n");
      //execvp("ls",argv);
      //execv("/usr/bin/ls",argv);
      //execlp("ls","ls","-a","-l",NULL);
      execle("./myprocess","./myprocess","-a","-b",NULL,env); //必须以NuLL结尾，不是"NUlL"
      printf("execl end...\n");
      exit(1);
  }
  pid_t rid = waitpid(id,NULL,0);
  if(rid>0){
      printf("wait sucess\n");
  }

  return 0;
}


















//
//int main()
//{
//  pid_t id = fork();
//  if(id==0)
//  {
//    //子进程
//  }
//  //父进程
//  int status = 0;
//  while(1){
//    pid_t rid = waitpid(id,&status,WNOHANG);
//    if(rid>0){
//      //等待成功
//      break;
//    }
//    else if(rid==0){
//      //子进程正在运行
//      //这里可以给父进程排发任务
//    }
//    else{
//      //出错
//      break;
//    }
//  }
//}
